C语言 读取字符串数组中的字符串并获取字符串的长度

您所在的位置:网站首页 字符串0123/0a456长度 C语言 读取字符串数组中的字符串并获取字符串的长度

C语言 读取字符串数组中的字符串并获取字符串的长度

2023-07-14 15:44| 来源: 网络整理| 查看: 265

#include #define LENGTH 128 #define NUMBER 5 int main(void){ int i; char s[NUMBER][LENGTH]; for(i = 0; i printf("s[%d] = \"%s\"\n", i, s[i]); } return 0; }

程序中的数组s是5行128列的二维数组,即每行的字符串长度为127(null字符占用1节存储空间),可存储5行字符串。 注:字符串数据,将它们传入scanf函数时不可以带 & 运算符。

运行结果: 在这里插入图片描述

#include #define LENGTH 128 int str_length(const char s[]){ int len = 0; while (s[len]){ len++; } return len; // 返回数组str中首个值为null的元素的下标值 } int main(void){ char str[LENGTH]; printf("请输入字符串:"); scanf("%s", str); printf("字符串\"%s\"的长度是 %d。 \n", str, str_length(str)); }

运行结果: 在这里插入图片描述 while 语句在循环条件表达式为非0的情况下,会执行循环体语句。该循环语句,会从头开始遍历数组。 循环继续的条件是, s[len]不是0,即不是null字符。变量len的初始值为0,每次执行循环体语句就自增1,直至出现null字符为止。

数组的长度为128,实际存储的长度只有5,剩下的都是空的。由此可知,字符串不一定正好撑满字符串数组。因为字符串中含有表示其末尾的null字符,所以第一个字符到 ‘\0’ (的前一个字符)为止的字符数,就是该字符串的长度。

使用指针遍历,获取字符串长度 #include int str_length (const char *s){ int len = 0; while (*s++){ len++; } return len; } int main(void){ char str[128]; printf("请输入字符串:"); scanf("%s", str); printf("字符串\"%s\"的长度是%d。\n", str, str_length(str)); return 0; } 使用库中的函数获取字符串的长度 头文件原形说明返回值#include size_t strlen(const char *s)求出s指向的字符串的长度(不包括null字符)。返回s指向的字符串的长度。 #include #include int main(void){ char *p = "vvcat"; printf("字符串的长度为%d", strlen(p)); return 0; } 实现strlen函数 #include size_t strlen(const char *s){ size_t len = 0; while(*s++){ len++; } return len; } int main(void){ char *p = "vvcat"; printf("字符串的长度为%d", strlen(p)); return 0; }


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3